// 插件
export default {
  install(Vue, x, y, z) {  //参数中的Vue是最初引入的Vue
    console.log('install', Vue, x, y, z)

    // 全局过滤器
    Vue.filter('mySlice', function (value) {
      return value.slice(0, 4)
    })

    // 定义全局指令
    Vue.directive('fbind', {
      // 此时element指input标签
      // 1.指令与元素成功绑定时（刚开始先调用一次）调用
      bind(element, binding) {
        console.log(this) //window
        element.value = binding.value
      },
      // 2.指令所在HTML标签插入页面时
      inserted(element, binding) {
        element.focus()
      },
      // 3.指令所在的HTML代码重新解析时
      update(element, binding) {
        element.value = binding.value
      }
    })

    // 定义混入
    Vue.mixin({
      data() {
        return {
          x: 300,
          y: 200
        }
      }
    })


    // 给原型添加一个方法
    Vue.prototype.hello = () => {
      alert("hello")
    }
  }
}